Developer(s) | |
---|---|
Initial release | 2009 [1] |
Development status | Active |
Written in | JavaScript |
Operating system | Cross-platform |
Type | Web application framework, Scripting language |
Website | http://code.google.com/googleapps/appsscript/index.html |
Google Apps Script is a cloud based scripting language for light-weight application development in the Google Apps platform. It is based on JavaScript,[2] however instead of running on the client, it gets executed in the Google Cloud. Google Apps Script essentially provides easy ways to automate tasks across Google products and third party services.[3]
Contents |
The following code demonstrate use of Google Apps Script UI Services and DocList Services to display contents of a Google Docs Collection in Tree format.
Notice the use of JavaScript-like syntax and the use of Google Web Toolkit widgets.
function doGet(e){ var app = UiApp.createApplication(); var scrollPanel = app.createScrollPanel(); // Scroll Panel is a Google Web Toolkit Widget tree = app.createTree(); // Tree is a Google Web Toolkit Widget tree.addItem(buildTree(app, "Enterprise 2.0 - Saqib")); scrollPanel.add(tree); scrollPanel.setHeight("500"); app.add(scrollPanel); return app; } function buildTree(a, searchTerm){ var tree = a.createTreeItem(); // TreeItem is Google Web Toolkit Widget tree.setText(searchTerm); // Use of the Google Apps Script DocList Service to retrieve the collections. var folders = DocsList.getFolder(searchTerm).getFolders(); for (var i = 0; i < folders.length; i++) tree.addItem(buildTree(a, folders[i].getName())).setState(true, true); var files = DocsList.getFolder(searchTerm).getFiles(); for (var i = 0; i < files.length; i++) { if (files[i].getType() == "document") { urlBase = "https://docs.google.com/document/edit?id="; iconHTML = "https://docs.google.com/images/doclist/icon_7_document_list.png"; } else if (files[i].getType() == "spreadsheet") { urlBase = "https://spreadsheets.google.com/ccc?key="; iconHTML = "https://docs.google.com/images/doclist/icon_7_spreadsheet_list.png"; } else if (files[i].getType() == "presentation") { urlBase = "https://docs.google.com/present/edit?id="; iconHTML = "https://docs.google.com/images/doclist/icon_7_presentation_list.png"; } else if (files[i].getType() == "drawing") { urlBase = "https://docs.google.com/drawings/edit?id="; iconHTML = "https://docs.google.com/images/doclist/icon_7_drawing_list.png"; } else { urlBase = "https://docs.google.com/fileview?id="; iconHTML = "https://docs.google.com/images/doclist/icon_7_generic_list.png"; } var image = a.createImage(iconHTML); var fileLabel = a.createAnchor(files[i].getName(), urlBase+ files[i].getId()); var fileLabelPanel = a.createHorizontalPanel(); fileLabelPanel.add(image); fileLabelPanel.add(fileLabel); tree.addItem(fileLabelPanel).setState(true, true); } return tree; }